package com.coderman.infosys.auth.domain.bo.authority;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.coderman.infosys.auth.domain.bo.system.MenuBO;
import com.coderman.infosys.auth.domain.bo.config.DataColumnBO;
import com.coderman.infosys.auth.domain.bo.system.SystemBO;
import com.coderman.infosys.auth.domain.bo.system.ModuleBO;

import lombok.Builder;
import lombok.Data;
import lombok.ToString;

/**
* @Description:权限聚合根类
* @Author:shenshuai
* @CreateTime:2022-01-02 15:27:38
* @version v1.0
*/
@Data
public class AuthAggregateBO {


   /**
    * 系统-菜单-按钮权限列表
    */
   public Map<String, Map<String, List<String>>> systemCodeMap = new HashMap<>();

   /**
    * 系统-表-字段按钮权限列表
    */
   public Map<String, Map<String, List<String>>> dataColumnMap = new HashMap<>();


   /**
    * 部门权限
    */
   public List<Long> departIdList = new ArrayList<>();


   /**
    * 省-城市-县权限列表
    */
   public Map<String, Map<String, List<String>>> addressMap = new HashMap<>();


   /**
    * 职位权限
    */
   public List<Long> jobIdList = new ArrayList<>();

   public void putSystem(Map<String, Map<String, List<String>>> systemCodeMap){
      this.systemCodeMap.putAll(systemCodeMap);
   }

   public void putAddress(Map<String, Map<String, List<String>>> addressMap){
      this.addressMap.putAll(addressMap);
   }


   public void putColumn(Map<String, Map<String, List<String>>> dataColumnMap){
      this.dataColumnMap.putAll(dataColumnMap);
   }

   public void putDepart(List<Long> departIdList){
      this.departIdList.addAll(departIdList);
   }

   public void putJob(List<Long> jobIdList){
      this.jobIdList.addAll(jobIdList);
   }
}